#pragma once

class TestManager;
class Renderer;

class Test
{
public:
	explicit Test(TestManager* testManager): m_testManager(testManager){}
	virtual ~Test() {};

	virtual void 	Init() {}
	virtual void 	Update(float i_elapsedTime) = 0;
	virtual void 	Render(Renderer& renderer) const = 0;
	virtual	void	OnKeyPressed(int /*keyCode*/){}

protected:
	TestManager*	m_testManager;
}; // class Test
